home *** CD-ROM | disk | FTP | other *** search
- unit Unit1;
-
- interface
-
- uses
- SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
- Forms, Dialogs, DBTables, DB, StdCtrls, Mask, DBCtrls, ExtCtrls;
-
- type
- TForm1 = class(TForm)
- DBEdit1: TDBEdit;
- Table1: TTable;
- DataSource1: TDataSource;
- Table1LAST_NAME: TStringField;
- Table1FIRST_NAME: TStringField;
- Table1ACCT_NBR: TFloatField;
- Table1ADDRESS_1: TStringField;
- Table1CITY: TStringField;
- Table1STATE: TStringField;
- Table1ZIP: TStringField;
- Table1TELEPHONE: TStringField;
- Table1DATE_OPEN: TDateField;
- Table1SS_NUMBER: TFloatField;
- Table1PICTURE: TStringField;
- Table1BIRTH_DATE: TDateField;
- Table1RISK_LEVEL: TStringField;
- Table1OCCUPATION: TStringField;
- Table1OBJECTIVES: TStringField;
- Table1INTERESTS: TStringField;
- Table1IMAGE: TBlobField;
- DBNavigator1: TDBNavigator;
- procedure FormCreate(Sender: TObject);
- procedure Table1BIRTH_DATEValidate(Sender: TField);
- procedure Table1BeforePost(DataSet: TDataset);
- procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
- private
- { Private declarations }
- public
- { Public declarations }
- end;
-
- var
- Form1: TForm1;
-
- implementation
-
- {$R *.DFM}
-
- procedure TForm1.FormCreate(Sender: TObject);
- begin
- Table1.Open
- end;
-
- procedure TForm1.Table1BIRTH_DATEValidate(Sender: TField);
- begin
- if (Sender AS TDateField).Value > Now then
- raise Exception.Create('Birthday is a future date...')
- end;
-
- procedure TForm1.Table1BeforePost(DataSet: TDataset);
- begin
- if {(DataSet.FieldByName('NUMBER_OF_CHILDREN').AsInteger > 0) and}
- ((Now - DataSet.FieldByName('BIRTH_DATE').AsDateTime) < (12 * 365)) then
- raise Exception.Create('Birthday inconsistent with number of children...')
- end;
-
- procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
- var Result: Word;
- begin
- if Table1.State in [dsEdit,dsInsert] then
- begin
- Result := MessageDlg('Save Changes to '+Table1.TableName+'?',
- mtConfirmation, [mbYes, mbNo, mbCancel], 0);
- CanClose := True;
- case Result of
- MrYes: Table1.Post;
- MrNo: Table1.Cancel;
- MrCancel: CanClose := False
- end
- end
- end;
-
- end.
-